Messaging systems for sharing location specific information

ABSTRACT

The present disclosure provides a computer-implemented messaging system for sharing location specific information. Users of the messaging system may provide a message about a specific location. The message can be displayed as a tag. The messaging system can comprise a map-based interface, and a plurality of tags on the map-based interface. The tags may be (i) positioned adjacent to a specific location and (ii) oriented to point towards the specific location. The tags may be configured to display at least a portion of a message about the specific location.

CROSS-REFERENCE

This application is a continuation of U.S. application Ser. No.16/199,397, filed Nov. 26, 2018, which is a continuation of U.S.application Ser. No. 15/475,923, filed Mar. 31, 2017, which claims thebenefit of U.S. Provisional Application No. 62/327,282, filed Apr. 25,2016, each of which applications is entirely incorporated herein byreference.

BACKGROUND

Locating technologies such as the Global Positioning System (GPS) arebecoming increasingly advanced and can often locate or track an objectrelative to one or more reference points (such as a satellite or anotherobject) with high accuracy and precision. Such locating systems mayprovide maps with real-time positioning capabilities from a wide arrayof portable and non-portable electronic devices, including computers,phones, wearable devices, vehicle dashboards, remote controllers,trackers, and navigators. Likewise, an ecosystem of social networksinterconnecting any number of individuals and/or entities may be equallyaccessible from a wide array of portable and non-portable electronicdevices.

SUMMARY

Between the ubiquity of maps with real-time positioning capabilities andthe ecosystem of social networks, recognized herein is a need for amessaging system where users can share location-specific information.

An aspect of the present disclosure provides a computer-implementedmethod for sharing location specific information between users of amessaging system. The messaging system can be programmed or otherwiseconfigured to implement the method. In another aspect, the messagingsystem can be an integrated part of an existing social networkingsystem, such as via use of one or more application program interfaces(APIs). Alternatively or in addition, the messaging system can be itsown independent social networking system.

The computer-implemented method for sharing location specificinformation can comprise: receiving, over a computer network, at amessaging system programmed to facilitate sharing of location specificinformation, a first message about a first location from a first user;providing, to the first user, a first tag on a map-based interface,wherein the first tag displays at least a portion of the first message,wherein the map-based interface displays to the first user a mapcontaining the first location; receiving, from the first user, positionand orientation instructions for placement of the first tag on themap-based interface, wherein the first tag is (i) positioned adjacent tothe first location, and (ii) oriented to point towards the firstlocation; and displaying, over the computer network, by the messagingsystem, for presentation to a second user, the first tag placed on themap-based interface according to the position and orientationinstructions from the first user.

The method can further comprise receiving a first rating of the firstmessage from the second user. The messaging system may then determine anaggregate rating of the first message, wherein the aggregate rating is acompilation of all individual ratings received for the first messagefrom users of the messaging system, including the first rating. Theaggregate rating can be a numerical score. For example, the aggregaterating can be a mean, an average, a median, or other statisticaldetermination of the individual ratings. In some cases, the first tagcan display at least the aggregate rating of the first message.

Each message can comprise at least a title of the message and a categoryand a description of the location the message is related to. In somecases, the tag can be displayed as a different color based on differentcategories of the information contained in the message.

The method can further comprise establishing a connection between thefirst user and the second user in the messaging system, wherein theconnection is initiated by either the first user or the second user, andwherein the connection is stored in the messaging system. For example,the connection can be part of a social networking system.

In some instances, the messaging system can provide a current locationof a user viewing a map-based interface of the messaging system on themap-based interface. In some instances, the messaging system canprovide, on the map-based interface, direction instructions between thecurrent location of the user and the location of any tag and/or message.In some instances, the messaging system can provide, on the map-basedinterface, direction instruction between any two tags or between anylocation and a tag.

Upon a request by a user, the messaging system can display the entiremessage of a tag. In some cases, the request can be a user command, suchas a touch command or a mouse command.

In another aspect, provided is a computer-implemented messaging systemfor sharing location specific information that can implement the abovemethod. The messaging system can comprise one or more processors, adisplay, and a memory, communicatively coupled to the one or moreprocessors, including instructions executable by the one or moreprocessors to present on the display, a map-based interface, and aplurality of tags on the map-based interface, wherein each tag of theplurality of tags is (i) positioned adjacent to a specific location,(ii) oriented to point towards said specific location, and (iii)configured to display at least a portion of a message about the specificlocation.

Additional aspects and advantages of the present disclosure will becomereadily apparent to those skilled in this art from the followingdetailed description, wherein only illustrative embodiments of thepresent disclosure are shown and described. As will be realized, thepresent disclosure is capable of other and different embodiments, andits several details are capable of modifications in various obviousrespects, all without departing from the disclosure. Accordingly, thedrawings and description are to be regarded as illustrative in nature,and not as restrictive.

INCORPORATION BY REFERENCE

All publications, patents, and patent applications mentioned in thisspecification are herein incorporated by reference to the same extent asif each individual publication, patent, or patent application wasspecifically and individually indicated to be incorporated by reference.To the extent publications and patents or patent applicationsincorporated by reference contradict the disclosure contained in thespecification, the specification is intended to supersede and/or takeprecedence over any such contradictory material.

BRIEF DESCRIPTION OF THE DRAWINGS

The novel features of the invention are set forth with particularity inthe appended claims. A better understanding of the features andadvantages of the present invention will be obtained by reference to thefollowing detailed description that sets forth illustrative embodiments,in which the principles of the invention are utilized, and theaccompanying drawings (also “Figure” and “FIG.” herein), of which:

FIG. 1 shows a schematic illustration of a messaging systemcommunicating with multiple users.

FIG. 2 shows a map-based interface on a display.

FIG. 3A shows an exemplary tag in a default state.

FIG. 3B shows an exemplary tag in an active state.

FIG. 3C shows an exemplary tag of the messaging system displaying arating of the tag.

FIG. 3D shows an exemplary map-based interface of a messaging systemdisplaying a plurality of tags.

FIG. 4 shows an exemplary network comprising one or more messagingsystems.

FIG. 5 shows a method for sharing messages about a specific location.

DETAILED DESCRIPTION

While various embodiments of the invention have been shown and describedherein, it will be obvious to those skilled in the art that suchembodiments are provided by way of example only. Numerous variations,changes, and substitutions may occur to those skilled in the art withoutdeparting from the invention. It should be understood that variousalternatives to the embodiments of the invention described herein may beemployed.

The term “user,” as used herein, generally refers to an individual orentity that is capable of providing, receiving, and/or sharinginformation related to a location. The user can be part of, orregistered to, a messaging system for sharing location specificinformation. The messaging system may be part of a social network. Theuser can be a member of the general community with access to locationspecific information in the system. The user can be an anonymous memberof the general community. Registered users of the messaging system mayhave a unique profile with the messaging system.

The term “social network,” as used herein, generally refers to a socialstructure comprising at least one set of social entities (such as, e.g.,individuals or organizations). The social network may have a set of thedyadic ties or connections (or links) between these entities. Such tiesor connections may be complex (e.g., first degree connections, seconddegree connections, third degree connections, etc.). A social networkcan include various networks in which a user interacts with other users,such as a social network, education network and/or work network. Asocial network of a user can be characterized by, for example, acontacts list (e.g., address book, email contacts list) or a socialmedia network (e.g., Facebook® friends list, Google+® friends list,LinkedIn® contacts, Twitter® Following list) of the user. A user that isa member of a social network may have a unique profile with the socialnetwork.

Provided herein are messaging systems for sharing location-specificinformation. A messaging system can be an integrated part of an existingsocial networking system (e.g., Facebook®, Google+®, Twitter®,Instagram®, etc.), such as via use of one or more application programinterfaces (APIs). Alternatively or in addition, the messaging systemcan be its own independent social networking system.

The messaging system may communicate with multiple users. FIG. 1 shows aschematic illustration of a messaging system communicating with multipleusers. For example, a first user 110, a second user 120, a third user130, and an nth user 140 may communicate with the system 100. Aplurality of users may communicate with the system simultaneously.Alternatively, only one user can be communicating with the system at asingle point in time. The users communicating with the system can beregistered users of the system or members of the general community withaccess to the system. The users may participate in the system to provideinformation related to a location, receive information related to thelocation, share information related to a location for example to aspecific user or to a specific group of users or to all users of thesystem, and/or provide feedback on information related to the location.The system may comprise a server 105. Any description herein of a servermay apply to one or more servers or other devices that may individuallyor collectively perform any of the steps described elsewhere herein.Alternatively or in addition, the system may be implemented using acloud computing infrastructure or a peer-to-peer configuration.

The server 105 may comprise known computing components, such as one ormore processors, one or more memory devices storing softwareinstructions executed by the processor(s), and data. A server can haveone or more processors and at least one memory for storing programinstructions. The one or more processors can be a single or multiplemicroprocessors, field programmable gate arrays (FPGAs), or digitalsignal processors (DSPs) capable of executing particular sets ofinstructions. Computer-readable instructions can be stored on a tangiblenon-transitory computer-readable medium, such as a flexible disk, a harddisk, a CD-ROM (compact disk-read only memory), an MO (magneto-optical),a DVD-ROM (digital versatile disk-read only memory), a DVD RAM (digitalversatile disk-random access memory), or a semiconductor memory.Alternatively, the methods disclosed herein can be implemented inhardware components or combinations of hardware and software such as,for example, ASICs (application specific integrated circuits), specialpurpose computers, or general purpose computers. While FIG. 1illustrates a single server, in some embodiments, multiple devices mayimplement the functionality associated with the server. The server 105can be a messaging server.

A user may communicate with the system with the aid of a computingdevice. A plurality of users may communicate with the system with theaid of a single computing device. Alternatively or in addition, eachuser may communicate with the system with an independent device. Forexample, a first user can use a first computing device 115, a seconduser can use a second computing device 125, a third user can use a thirdcomputing device 135, and an nth user can use an nth computing device145. The computing device may comprise an interface. The interface mayinclude a display to show graphic and/or textual information to theuser. The interface may include one or more user interactive interfaces(e.g., GUI) that accept a user input.

In some instances, the computing device may be a mobile device (e.g.,smartphone, tablet, pager, personal digital assistant (PDA)), a computer(e.g., laptop computer, desktop computer, server), a wearable device(e.g., smartwatches), or a navigator (e.g., vehicle dashboard, portablenavigators). A computing device can also include any other media contentplayer, for example, a set-top box, a television set, a video gamesystem, or any electronic device capable of providing or rendering data.The computing device may be portable. The computing device may behandheld. The computing device may be a network device capable ofconnecting to a network, such as a local area network (LAN), wide areanetwork (WAN) such as the Internet, a telecommunications network, a datanetwork, or any other type of network.

A computing device may comprise one or more geo-location sensors thatmay be useful for detecting the location of the computing device. Insome instances, the computing device may further comprise motion sensorsthat may be useful for detecting the location and/or tracking the motionof the computer device. For example, the geo-location sensors may usetriangulation methods or Global Positioning Systems (GPS) to aid indetermining a location and/or movement of the computing device.Alternatively, the computing device may use other locating or trackingsystems such as the Ultra Wide Band (UWB), Real-Time Locating Systems(RTLS), and Local Positioning Systems (LPS) to aid in determining alocation and/or movement of the computing device. A computing device maycomprise an image capture device, or may be in operable communicationwith an image capture device such as a camera. The image capture devicemay be useful for capturing an image of any object (e.g., buildings,streets, scenery, etc.) within the user's environment.

The computing device may comprise memory storage units which maycomprise non-transitory computer readable medium comprising code, logic,or instructions for performing one or more steps described above orfurther below. The computing device may comprise one or more processorscommunicatively coupled to the memory storage units. The one or moreprocessors can be capable of executing one or more steps, for instancein accordance with the non-transitory computer readable media.

A user may provide information to the system using the computing device,such as through a user input interface. In some instances, user inputinterfaces may comprise user input buttons, switches, knobs, levers,keys, trackballs, touchpads, cameras, microphones, motion sensors, heatsensors, inertial sensors, touch sensors, or any combination of theabove. Alternatively or in addition, the user may provide input througha touch-enabled display (e.g., touchscreen) comprising a graphical userinterface (GUI). Any description herein of any specific type of userinput interfaces, such as keys, may apply to any other type of userinput interface. The user input interface may be integrated in thecomputing device (e.g., touchscreen in a touchphone, keyboard in alaptop, power button in a desktop computer processor, etc.) or otherwisecommunicatively coupled to one or more processors of the computingdevice via wired (e.g., USB cable, etc.) or wireless connection (e.g.,Bluetooth, Wi-Fi, NFC, etc.). Wireless connections are described furtherbelow. In some instances, the computer system may comprise a pluralityof user interfaces (e.g., mouse, keyboard, switches, cameras,microphones, buttons, etc.) communicatively coupled to the one or moreprocessors of the computer system.

An aspect of the present disclosure provides a computer-implementedmethod for sharing location specific information between users of amessaging system. The messaging system can be programmed or otherwiseconfigured to implement the method, such as using the server 105 and oneor more electronic devices (e.g., computing devices) communicativelycoupled to the server 105.

The method can comprise receiving from a user, at the messaging system,a message related to a specific location, and displaying a tag of themessage adjacent to the specific location on a map-based interface. Insome instances, the tag can be configured to point towards the specificlocation on the map-based interface. The user can determine a placementconfiguration of the tag on the map-based interface. The placementconfiguration can include instructions as to a placement location of thetag and an orientation of the tag.

FIG. 2 shows an exemplary map-based interface of the messaging system ona display. The messaging system 200 can present to users a map-basedinterface 204 on, and/or be accessed from, a display 202 communicativelycoupled to a computing device (e.g., the computing devices 115, 125,135, 145 in FIG. 1) of a user. The display 202 can be an integrateddisplay (e.g., touchscreen) of the computing device or a separatedisplay device (e.g., external monitor) that is communicatively coupledto one or more processors of the computing device.

The messaging system 200 can provide a map-based interface 204 to usersof the system. The map-based interface can be a user interactiveinterface. The map-based interface 204 can comprise a map. The map canbe a two-dimensional map, a three-dimensional map, a color map, a linemap, an abstract map, a map integrating virtual or augmented reality (VRor AR), a satellite map, a traffic map, a block map, a schematic map, acombination of the above, or any other type of map. The map may displaysymbolic (e.g., schematic) or real (e.g., comprising real or augmentedimages) representations of locations at one or more degrees ofspecificity. The map may distinguish continents, countries, states,cities, counties, neighborhoods, blocks, streets, alleys, intersections,walkways, car lanes, paths, buildings, furniture, floors, elevators,stairways, windows, doors, entranceways, gates, bridges, tunnels, zipcodes, districts, zones, regions, campuses, oceans, rivers, streams,parks, forests, mountains, landmarks, or any other natural or artificialboundary or object that can be isolated as a separate location. Forexample, the map-based interface 204 can comprise rectangular orsemi-rectangular blocks to represent buildings (such as building 206),and open lines to represent street boundaries (such as walkway 208),such as in FIG. 2. The user may select or change a degree of specificityof the map, such as by zooming in or zooming out of a segment of themap.

In some instances, the computing device providing the map-basedinterface 204 may be capable of identifying a current location 214 of auser, such as via one or more geolocation sensors using GPS or otherlocating methods. The messaging system may display the user's currentlocation 214 on the map-based interface 204. The current location 214can be displayed by a marker, icon, sticker, or any symbol that cancomprise any shape, size, or color. In some instances, the currentlocation 214 of the user can be updated in real-time. Real-time caninclude a response time of less than 1 second, tenths of a second,hundredths of a second, or a millisecond. All of the messaging systemprocesses (e.g., updating current location, posting a tag, editing atag, rating a tag, following a user, etc.) such as those described aboveand further below, is capable of happening in real-time. That is, thecurrent location of a user can be updated as the user is on the move.

The messaging system may display to a user a segment of a larger map. Insome instances, the segment of the larger map that is displayed to theuser can be based on the user's current location 214. The system maydisplay the map up to a radius, length, and/or width (e.g., positive andnegative directions in the x-axis and y-axis relative to the user) of acertain predetermined distance from the user's current location. Forexample, the messaging system may display the map up to 0.5 miles ineach of the north, south, east, and west directions from the user'scurrent location. Alternatively or in addition, the user may select amap segment to be displayed, such as by scrolling through the map and/orzooming in or out of the map. A larger segment of the map can bedisplayed when the user zooms out. A smaller segment of the map can bedisplayed when the user zooms in. In some instances, the user maymanually enter an address of any specificity (e.g., street address,country name, etc.) and the messaging system may display a segment ofthe map containing at least a portion of the address or a segment of themap containing all boundaries of the address of the specificity. Theuser may select a location remote to, and/or regardless of, the user'scurrent location.

In some instances, the map may be oriented relative to a fixed direction(e.g., a top edge of the map is always facing North). In otherinstances, the map may be oriented relative to a direction the computingdevice is pointing towards. The computing device may detect anorientation of the computing device (e.g., relative to compassdirections) using one or more geo-location sensors. Such orientation ofthe map can be updated in real-time. In some instances, the user mayalternate between a fixed direction mode and an actual orientation mode.

To create a message relating to a location, the user may pinpoint to alocation of any specificity. For example, the location can be acontinent, a country, a state, a city, a county, a neighborhood, ablock, a street, an alley, an intersection, a toll booth, a walkway, acar lane, a path, a building, a floor, an elevator, a stairway, awindow, a door, an entranceway, a gate, a bridge, a tunnel, a zip code,a district, a zone, a region, a campus, an ocean, a river, a stream, apark, a forest, a mountain, a landmark, or any other natural orartificial boundary or object that can be isolated as a separatelocation. In some instances, the location can be three-dimensional,including a longitudinal and latitudinal axis as well as a height axis(e.g., different levels from the ground, sea level, etc.). The user mayflexibly zoom in or zoom out of a map-based interface to focus on aspecified location of any scale (e.g., zooming out from a city to selecta country as a location, zooming in from the city to select a toll boothas a location).

The user providing the message can be a registered user of the messagingsystem. In some instances, the user providing the message can be amember of the general community with access (e.g., a member of thepublic via open web access) to the system. In some instances, the userproviding the information, registered or unregistered, can be anonymous.If a user is a registered user of the system, the user may have a uniqueprofile with the system. For example, the system may store profileinformation of the user such as name, user name, nickname, password,passcode, electronic mail (email) address, address, phone number,profile picture, account activity (e.g., history of providing a message,rating, etc.), and/or other personal or non-personal informationassociated with the user. In some instances, if the messaging system isintegrated as part of a pre-existing social networking system, thesystem may synchronize the user's profile information (e.g., friendnetwork, following network, etc.) from the existing social networkingsystem.

In the message, the user can include any type or form of informationrelating or relevant to the specific location. For example, the messagecan be in the form of text (e.g., a string), an image, audio, video, ora combination thereof. In some cases, text can be provided viavoice-to-text translation systems (e.g., software), such as via audioinput. The text can be provided in the form of a string. The message mayinclude a hyperlink (e.g., URL). In some examples, the string can have acharacter limit of about 1000 characters, 300 characters, 400characters, 300 characters, 200 characters, 150 characters, 140characters, 130 characters, 120 characters, 110 characters, 100characters, 50 characters, 40 characters, 30 characters, 20 characters,10 characters or more than the above. The character limit can be afunction of character font size and/or whether an image or video isprovided with text. In an example, the character limit can be 120characters at size 10 font and 100 characters at size 12 font. The usermay be able to change font (e.g., size, style, color, etc.) of the text.

In some cases, the message can have a maximum limit of 50 images (e.g.,photographs), 40 images, 30 images, 20 images, 10 images, 5 images, 4images, 3 images, 2 images, 1 image, or more than the above. In somecases, the message can have a maximum video length of 1 hour, 50minutes, 40 minutes, 30 minutes, 20 minutes, 10 minutes, 5 minutes, 4minutes, 3 minutes, 2 minutes, 1 minute, 30 seconds, 20 seconds, 10seconds, 5 seconds, 1 second, or longer than the above. An image orvideo can include an annotation. In some cases, an image and/or videocan include a text annotation with a maximum character limit of 1000characters, 300 characters, 400 characters, 300 characters, 200characters, 150 characters, 140 characters, 130 characters, 120characters, 110 characters, 100 characters, 50 characters, 40characters, 30 characters, 20 characters, 10 characters, or more thanthe above. In some cases, the message can be limited by a file size. Forexample, the message can have an individual or aggregate file size limitof about 100 megabytes (MB), 75 MB, 50 MB, 45 MB, 40 MB, 35 MB, 30 MB,25 MB, 20 MB, 15 MB, 10 MB, 5 MB, 4 MB, 3 MB, 2 MB, 1 MB, 500 kilobytes(KB), 400 KB, 300 KB, 200 KB, 100 KB, or higher or lower than the above.For example, text-only messages may have a much smaller file size limitthan messages containing one or more images and/or videos.

The message can comprise a title, a description, and/or a category of aspecific location. For example, the title can be a name or nickname ofthe specific location, a name of an infrastructure on the specificlocation, an address of the specific location, or a title or preview forthe description of the specific location (e.g., “Good place for latenight pizza,” “Best noodle in SoHo,” “Beware of mosquitos in the park,”“Well hidden café !” etc.). In some instances, the title may be providedas a text string only (without images, links, and/or videos). The titlestring can have its own maximum character limit, word limit, and/or linelimit. Similarly, the description can have its own maximum characterlimit, word limit, and/or line limit. The description can be anydescription related to the specific location.

A category of the location can be a topic, a type, an atmosphere, abackground, or any other descriptive shorthand of the location by whichat least two locations can be grouped. For example, the category candescribe if the atmosphere of the location is “casual,” “formal,” or“business.” For example, the category can describe a type or atmosphereof an activity appropriate for the location, such as “sports,”“theatre,” or “dining.” For example, the category can describe acultural backdrop of the location (e.g., “Chinese” for Chinatown,“Italian” for Italian restraint, “Japanese” for origami store, etc.). Insome instances, the system may comprise a pre-determined list of afinite number of categories from which users can select. Alternativelyor in addition, a user may create a new category to associate thelocation with. In some instances, if a user creates a new category, thesystem may save the category and present the category for selection byother users.

In some cases, a specific location can be identified with 1 category, 2categories, 3 categories, 4 categories, 5 categories, 10 categories, 20categories, 50 categories, or more. A category can be a parent or childsubset of another category. A parent category (e.g., sports) canencompass all children categories (e.g., basketball, baseball, golf,etc.). A location associated with a parent category can be associatedwith all the children categories of the parent category. A locationassociated with a child category can be associated with the parentcategory but not the other children categories of the parent category. Acategory can have any degree of broadness.

In some instances, a category can be represented by a graphic or somesymbol representative of the category (e.g., football for “sports,” wineglass for “dining,” movie reel for “theatre,” shopping bag for“shopping,” silhouette of male and female for “restroom,” etc.).

The user may manually select one or more categories when providing amessage for a location. Alternatively or in addition, the system mayautomatically assign one or more categories. For example, if one or moremessages have been provided for the same location or locations within acertain radius (e.g., 1 mile) of the location, the system mayautomatically assign one or more categories that are common to the samelocation or locations within the certain radius. In another example, ifa description provided by the user provides certain keywords (e.g.,“food” and “delicious” in “The food is delicious.”), the system mayautomatically assign one or more categories (e.g., “restaurant,”“dining,” etc.) based on the keywords. In some instances, the system mayrecommend, instead of automatically assigning, such categories to theuser for selection when the user is providing a message.

The message created by the user can be displayed on the map-basedinterface 204 as, and/or be represented by, a tag (e.g., tags 210, 212,218, 220) in FIG. 2. The tag can be a label, a sticker, a marker, asign, or any other graphic symbol that can be displayed on a graphicaluser interface, such as the display 202. The tag can be placed adjacentto the specific location that the message is directed to. Tags aredescribed in further detail with FIGS. 3A and 3B. The message can bedisplayed in a map format, as tags, or in a list format.

All tags created by users of the system 200 can be displayed in themap-based interface 204. In some instances, a user of the systembrowsing a map on the map-based interface 204 may filter the tagsdisplayed on the map, such as by message category, user rating, messageauthor (e.g., a user of the system), message text (e.g., text in titleand/or description), specific location to which message is directed to,and/or a combination of the above.

The user who authors a message may determine how a tag, representativeof the authored message, is displayed (e.g., placement location andorientation) on the map-based interface 204. For example, the user maydetermine a precise location and/or an orientation of the tag. By virtueof the tag having an orientation definition, the tag can be placedadjacent to (and not placed on) the precise location and be orientedtowards the precise location. FIG. 2 shows a plurality of tags, whereineach tag points to a specific location. In some instances, a pluralityof tags can point to a same location, such as a tag 222 and a tag 224.However, instead of completely overlapping each other, each tag may beplaced at a different location on the map and be configured to pointtowards the same location. Other users viewing that specific location onthe map-based interface 204 may be quickly able to discern that there ismore than one tag for the same location and avoid overlooking one tag atthe expense of one or more other tags. A tag may overlap at least aportion of another tag. A tag may be displayed over any object, shape,and/or line inherent of the map. For example, a tag may be placed over arectangular block representing a distinct building on the map. In someinstances, with three-dimensional maps, a user may configure the tag'splacement in up to six degrees of freedom, such as roll, pitch, yaw, andin x, y, z coordinates (or in alternative or equivalent coordinates).This can be useful when the map-based interface 204 provides a maphaving three-dimensional features (e.g., elevated buildings shown ontwo-dimensional maps, road view, etc.). In some cases, the tag can havea three-dimensional shape (e.g., having a volume).

Through the messaging system, a user may author a message relating toany specific location, or any specific part of a location, and be ableto tie, for display to other users, the message to the specific locationor specific part of the location. For example, a tag 210 can describe afirst building 206 and a tag 212 can describe an entranceway 208 to thefirst building 206. In another example, a tag 218 can describe a streetintersection (e.g., “Traffic signal for left turn is particularly longhere,” “Right turns only,” “Traffic light broken,” “Accident prone,”“Under construction until March 2008,” “Watch out for dent in road,”etc.). By being able to specify a location to any degree of specificity,users may share more detailed information about a particular location,such as precise directions (e.g., which stairway to use as a shortcut)within a building, warnings or other cautionary signs, reviews, or otherhelpful tips relating to a location.

FIGS. 3A and 3B show exemplary tags of the messaging system. FIG. 3Ashows a tag in a default state and FIG. 3B shows the tag in an activestate. The tag 300 can comprise any color, size, and/or shape (e.g., anarrow, a polygon, a circle, an arbitrary drawing, etc.). In one example,as in the tags in FIG. 2 and FIGS. 3A and 3B, the tag can have a longpentagonal shape with an extended rectangular base. The tags describedin the present disclosure are not limited to the examples disclosed inFIGS. 3A and 3B. The tag 300 can comprise an arrow-like tip 306 or otherpoint of interest that can intuitively allow a user viewing the tag todistinguish an orientation of the tag. For example, the tag can bearrow-shaped. In other examples, the tag can comprise one or moredistinguishing features (e.g., a dot or a symbol, etc.) near one edge,corner, tip, and/or boundary of the tag that can allow a user todistinguish direction. In some instances, the tag can have alongitudinal axis 308 passing through the tip 306 of the tag. When thetag is pointing towards a specific location 310 (e.g., building, street,door, window, etc.), the longitudinal axis 308 can pass through at leasta portion of the specific location 310.

A tag may have a default state (such as in FIG. 3A) and an active state(such as in FIG. 3B). In the default state, the tag may display onlylimited information (e.g., a category symbol 302 and title 304). Forexample, the tag can show no content at all, and comprise just anoutline of a shape of the tag. In another example, the tag may show onlya title 304, only a rating of the tag, only one or more categories 302,only a user 314, only a description 312 of the message, and/or acombination of the above. In some instances, the tag may show a title,category, user, and/or a description each up to a certain maximum numberof characters, words, sentences, or lines. In some instances, the tagmay show only one category of the tag. In some instances, the tag mayshow a graphic symbol or icon representing the category 302 in theinterest of saving limited space provided by the tag and/or for moresimplified viewing for users of the system. In some instances, the tagcan be color-coded to represent different categories (e.g., green for“restaurants,” blue for “shopping,” etc.). In some instances, the tagcan comprise different shapes to represent different categories. Alltags displayed on the map-based interface can be displayed to have auniform size. Alternatively, the tags displayed on the map-basedinterface can be displayed to have different sizes.

When a tag does not display all content of the message, one or moreactions can be performed by users wishing to view more content (e.g.,clicking, double-clicking, triple-clicking, tapping, sliding, zooming inor out on the tag, etc.). User commands are discussed in more detailfurther below. When an additional action is performed, the tag mayalternate to the active state and display the entire message or the restof the content not shown in the default state.

In an example, a first user 314 of the messaging system provides to themessaging system a review message for a ramen restaurant located at aspecific location 310. The first user provides a title 304 of “BESTNOODLE IN SOHO,” a category 302 of “dining,” a user name 314 of “UserX,” and a text description 312 reading, “Here is the best place in thecity for noodles. Don't let the rude waiters scare you!” A tag 300 iscreated by the messaging system to represent the first user's reviewmessage. The first user places the tag 300 on a map, via a map-basedinterface (e.g., map-based interface 204 in FIG. 2), such that the tag300 is adjacent to the specific location 310. The first user may locatethe specific location 310 on the map relative to a current location ofthe first user (e.g., current location 214 in FIG. 2) that is displayedby the messaging system and/or by inputting an address of the specificlocation 310 to the messaging system. The first user may rotate the tag300 on the map such that the tag 300 is pointing towards the specificlocation 310, such as by pointing a tip 306 of the tag 300 towards thespecific location 310. The messaging system can secure the positionand/or orientation of the tag 300 by the first user. The tag 300 canthereby be displayed on the map-based interface for viewing by otherusers of the system.

Once the tag 300 is placed on the map, in a default state, the tag 300displays only the dining category 302 as a symbol and the title 304 of“BEST NOODLE IN SOHO.” A second user of the system, for example browsingthrough a segment of a map containing the specific location 310, can seethe tag 300 adjacent to the specific location 310 and pointing to thespecific location 310. Interested by such category and/or title that isdisplayed on the tag 300, the second user can perform an additionalaction on the tag (e.g., clicking on the tag) to gain access to the restof the content. When the second user performs the action, the tag canalternate to an active state and show the full message, or a moredetailed message, of the first user's review, such as the accompanyingdescription 312 of “Here is the best place in the city for noodles.Don't let the rude waiters scare you!” and an authoring user 314 of themessage. The tag in the active state can comprise further links orbuttons that can direct the second user to a hyperlink 318, and/or oneor more pictures 316 that are part of the message of the tag 300. Insome instances, in the active state, the tag can be enlarged (as in FIG.3B) to display all content of the message, such as the title, allcategories, user-creator, full description, rating, pictures, audio,video, hyperlinks, and/or links thereto. In some instances, in theactive state, the tag can be flipped to show a back side containingother content. In some instances, in the active state, a new object(e.g., text box, tag, pop-up, etc.) can be created temporarily todisplay the message. In some instances, in the active state, a new pagecan be created to display the message. Alternatively, a combination ofthe above can occur. Once the second user has finished reading the tag,the second user can perform another action (which can be the same ordifferent action as above) to return the tag 300 to the default state.

In some instances, the second user and/or other users of the system canrate the first user's tag. An aggregate rating (e.g., average or mean ofall ratings, etc.) of the tag may also be displayed on the tag in thedefault state and/or the active state of the tag.

In some instances, only certain users may provide ratings. For example,only users who have physically visited the specific location that a tagis describing may be able to provide a rating for the tag. Whether auser has physically visited the specific location can be confirmed viaone or more geolocation sensors that can detect the user's currentlocation. In some instances, only users who have viewed the wholecontent of a message (e.g., active state of a tag of the message) mayprovide ratings for the tag. In some instances, only certain users thatthe authoring user of a tag has given permission to may provide ratingsfor the tag. In some instances, any user may provide ratings for a tag.In some instances, only registered users of the system may provideratings for a tag.

The rating provided by a user can be a quantitative or qualitative inputto the system. For example, the user rating can be numerical ornon-numerical. In an example, the rating can be a score out of a maximumnumber (e.g., 5, 10, 100, etc.). In another example, the rating can bean arbitrary score without a floor and/or a ceiling. In some instances,the rating can be selected from a discrete scale (e.g., with incrementsof 0.01, 0.1, 0.5, 1, 5, 10, etc.) or a continuous scale. For instance,a user may rate a tag in the form of a number of stars, with one of 11options ranging from a lowest 0 stars to a highest 5 points in 0.5increments. Alternative to numerical input, a user may input a rating inthe form of, for example, colors, words, letters, graphics, sound (e.g.,frequency, wavelength, or note), or as a combination of the above, amongother non-numerical forms. For example, the system may provide aspossible rating options a continuous or discrete gradation of options(e.g., color, frequency of sound, alphabet letters, etc.) from oneendpoint to a second endpoint. Alternatively, the system may provide aspossible rating options a gradation of options from within a grid havingtwo axes or three axes.

The system may combine individual ratings received for a tag todetermine an aggregate rating for the tag. In some instances, theaggregate rating can be a numerical score. For example, the aggregaterating can be an average, a mean, and/or a median of the individualratings. In another example, the aggregate rating can be a total sum ofall individual ratings. In another example, the system may assigndifferent weights to different ratings (e.g., a rating provided by anactive user is given more weight than a rating provided by user with noactivity, etc.) before finding a total, average, or mean. The aggregaterating can be based on other statistical determinations (e.g., maximumrating, minimum rating, average of highest 30% of ratings, etc.) of theindividual ratings.

The system may store rating information for each tag. Based on theratings of one or more tags, or user performance, a user can be awardeda special status. For example, the system can award a special status(e.g., achievement) to: a user who has received a first five star ratingfor a tag, a user who has received a first five star rating for a tag ina certain category, a user who has received high ratings in at least acertain number of tags, a user who has a high average aggregate ratingfor all tags created by the user, a user who has created at least acertain number of tags (e.g., 10, 20, 30, 40, 50, 100, 150, 200, ormore), a user who has made at least a certain number of socialconnections (e.g., following, followers, friends, etc.) in thenetworking system, and/or a user who has authored at least a certainnumber of tags in a geographic area, among other achievements that auser can make. One or more special statuses can be noted on a user'sprofile page. In some instances, such special statuses can be noted onall tags that the user authors, such as by changing the font, color,and/or size of the username or adding a special symbol next to ausername to distinguish the user from other users.

A user may report a tag, such as when a tag is inappropriate (e.g.,unrelated to the location, containing inappropriate content,advertisements, incorrect content, etc.). The system may alert theauthoring user. In some instances, the system may automatically remove atag from display in the system interface (e.g., map-based interface,list format interface) when the tag is reported as inappropriate by atleast a certain number of users.

FIG. 3C shows an exemplary tag of the messaging system displaying arating of the tag. The tag 350 can comprise any color, size, and/orshape (e.g., an arrow, a polygon, a circle, an arbitrary drawing, etc.).In one example, as in the tag 350 in FIG. 3C, the tag can have a longpentagonal shape with an extended round base. The tag 350 can comprisean arrow-like tip 326 to allow a user to distinguish direction. In someinstances, the tag can have a longitudinal axis 320 passing through thetip 326 of the tag. When the tag is pointing towards a specific location328, the longitudinal axis 320 can pass through at least a portion ofthe specific location 328. The tag 350, in a default state, can displaylimited information, such as only a rating 322 of the tag and a category324 of the tag. In some instances, the displayed rating 322 can be anaggregate rating of the tag. In other instances, the displayed ratingcan be the last rating of the tag by a user in the system. In otherinstances, the displayed rating can be the rating given by a user thatthe tag is being displayed to. A user wishing to view the full messagemay perform an action (e.g., clicking, tapping, etc.) on the tag.

In some cases, the tag can change color, size, and/or shape depending onthe rating 322. For example, a tag with a five star rating can have alonger shape than a tag with a two star rating. In some cases, the tagcan change color, size, and/or shape depending on the category 324. Forexample, a tag with a dining category can have a green color and a tagwith a shopping category can have a blue color. By changing theappearance of the tag, a user browsing through a map-based interface mayconveniently sort through a plurality of tags.

FIG. 3D shows an exemplary map-based interface of a messaging systemdisplaying a plurality of tags. A plurality of tags 360 (such as the tag350 in FIG. 3C) can be placed on a map-based interface 330 for displayto a user of the messaging system. The map-based interface 330 may alsodisplay the user's current location 332. Each of the plurality of tags360 can point to a specific location for which the respective message ineach tag is directed to.

In some instances, only the user who authored a tag can edit the tag. Insome instances, the user authoring a tag can grant permission to otherusers to edit the tag. For example, if a first user authors a tag, thefirst user can grant any user in the system permission to edit the tag,only users who are connected (e.g., friends, following, followed, etc.)to the first user in an integrated social networking system permissionto edit the tag, and/or only specific users individually selected by thefirst user permission to edit the tag. In some instances, a supervisinguser, managing user, parenting user, or other superior user of the firstuser can grant permission to other users to edit the tag. For example,if a first user is part of a larger organization or a group of users(e.g., employer), all users who are also part of the larger organizationor the larger group may be able to edit any tag that the first user hasauthored. In some instances, the first user may grant limited editingpermissions to a group of users, such that the group of users can onlyedit certain portions of the tags, such as just the title, just thecategory or categories, just the description, just the location that thetag is pointing to, just the placement configuration of the tag, and/ora combination of the above. In some instances, only the user whoauthored a tag can delete the tag. Similar to editing permissions,deleting permissions can also be selectively or generally granted by theauthoring user or in an organizational context.

A tag can have an expiration date or time. For example, a tag canautomatically delete from the system on the expiration date or time. Auser creating the tag may set any future date and time as the expirationdate or time. In some instances, the system may send the user anotification or warning before the tag is deleted.

In some instances, a second user may choose to connect to a first userin the messaging system. A connection may include becoming friends,becoming contacts, following an activity of the user (e.g., in a feed),and/or other methods of connecting within a social networking system.Ties between any two users can be stored in a memory or database (e.g.,database 404 in FIG. 4) of the messaging system.

The messaging system may comprise social networking functionalities,such as allowing any one user to connect with another user and buildinga network of ties between users of the system. Users may be providedwith other social networking functions such as forming open or closedgroups, sharing profiles, messaging options (e.g., both delayed andinstant messaging), commenting, feedback (e.g., rating), updating feedsbetween connected users, profile pages, profile pictures, variouscontact lists (e.g., following list, followed list, friend list, mutualfriend list, etc.) and other social networking functions. Users mayfreely join open groups. Users may join closed groups by invitationonly. In some instances, a user's activities in the messaging system maybe synchronized with the user's activities in other social networkingsystems such that posting an activity in one forum (e.g., creating a tagin the messaging system) automatically or selectively reposts theactivity in another forum (e.g., reposting on Facebook®, Twitter®,Instagram®, etc.). A user may share (e.g., via posting or reposting) atag across different social networking systems.

The connection between two users can be mutual or non-mutual. In somecases, before a connection is made, both users must agree or otherwisegive permission to the connection (e.g., becoming friends). In somecases, a connection can be made without a user's permission, such aswhen a second user follows a first user. Once the second user isfollowing the first user, the second user may be provided a feed ofupdates on activities by the first user (and any other user that thesecond user is following). The second user may also gain access to alist of all tags that the first user has created.

In some instance, connected users may share tags. Connected users mayshare locations and/or emergency alerts. In some instances, a user mayshare emergency alerts with non-connected and/or non-registered users.The system may transmit the emergency alerts to non-registered users viaemail, SMS text, phone call, or any external communication system. Forexample, a first user can pre-select one or more contacts to alert whenthe first user is in an emergency. The first user may press an emergencybutton (or other user command) to share the first user's location to thepre-selected contacts in emergency situations.

In some instances, a user may follow a geographic area. The geographicarea can have any degree of specificity, such as those described above(e.g., continent, country, city, zip code, county, street, etc.). A userfollowing a geographic area may get updates for new tags or updated tagscreated in that area.

A tag may be a public tag or a private tag. Public tags may be displayedto all users of the messaging system. Private tags may be displayed tothe creating user and only to specific users that the authoring usergrants permission to. For example, individuals working for one employermay each register as users in the messaging system and form a group. Theusers, acting in the capacity of employees, may create private tags tobe displayed only to fellow employees of the employer (e.g., members ofthe group). In the same manner, the users may also choose to grant tagediting permissions to only fellow employees. This may be particularlyuseful for employees whose scope of employment includes navigating a map(e.g., delivery services, traveling services, touring services, drivingservices, etc.). Any two users may share private tags.

The system may provide a first user with an analytical report on tagusage. The report can be for a specific time period (e.g., first week ofJanuary). Alternatively, the report can be for an account life of thefirst user. For example, the report can include information about tagsthe first user created, information about tags created by users who thefirst user is following, and/or information about tags that the firstuser has rated. The information can include statistics such as number oftags created, number of users rating the tag, number of times the tagwas shared, average aggregate rating over a time period, averageaggregate rating overall, date or time a tag was created, frequency oftag creation, frequency of tag editing, and other analytics.

The tags can be displayed in a map format (as in FIG. 2) in themap-based interface. Alternatively, the tags can be displayed in one ormore lists in a list format. A user may flexibly alternate between themap format and the list format. Additionally, users may filter the tagsto be displayed.

In a list format, a user may be presented with a list of tags relatingto locations within a certain radius, width and/or length of a referencelocation. The reference location can be the user's current location.Alternatively, the reference location can be manually input by the userto any location adjacent to or remote from the user. In some instances,if a user is alternating to a list mode from a map mode, the user can bepresented with all the tags within the displayed segment in the mapmode. The list format may display a list of tags, each tag representedby a unit block. The unit blocks can be arranged in rows vertically orin columns horizontally. In some instances, the unit block can have thesame shape as the shape of the tags (e.g., pentagonal) displayed in themap format. Each unit block may have a default state and an activestate, similar to the tags displayed in the map format (as in FIGS. 3Aand 3B). For example, the default state and active state of the unitblock of a tag in a list format can display the same information scopeas the default state and active state of the tag displayed in a mapformat. In the default state, the unit block may display limitedinformation, such as only the title, only one or more categories, only auser name, only a location address, only a description, only a rating,and/or a combination of the above. In some instances, the system maydetermine a distance from the user's current location to the locationrelating to the tag (e.g., “0.1 miles from user”) and display thedistance for reference.

A user may perform an action (e.g., clicking) on the unit block of thetag to view detailed information of the tag. The detailed informationmay appear as a new page, a new object (e.g., pop-up, etc.), or anenlargement or other manipulation or transition of the unit block. Insome instances, performing the action on a unit block of the tag in thelist format may bring up an active state of the tag in the map format.

The user may filter and/or search the tags displayed by the system,whether the tags are displayed in a list format or a map format. Forexample, the user may filter by private tags or public tags. The usermay filter further within private tags, such as to display private tagsassociated with only certain users. Alternatively or in addition, theuser may filter displayed tags by an authoring user, an aggregate ratingof the tag (e.g., at least 3.5 stars or above, etc.), one or morecategories of the tag, text in a title and/or description of the tag, adate the tag was created, a date the tag was last edited, a date the tagwas last rated, a last rating of the tag, a number of users that ratedthe tag, a number of times the full message in the tag was viewed, atotal number of tags created by the authoring user, one or more specialachievement statuses of the authoring user, other properties of the tag(e.g., metadata, content, etc.), and/or other properties of theauthoring user. Additionally, the user may filter the tags by a locationof any degree of specificity. In some instances, a user may createcustom tag filter definitions.

In some instances, a user may filter and/or search the tags displayed bythe system by an open or closed group in the messaging system. Forexample, the user may filter by a group if the user is a member of thegroup. When filtered by group, the system may only display tags createdby other members in the group, tags rated by other members in the group,tags created by users that are followed by at least one member in thegroup, and/or other subsets of tags that can be filtered by groupdefinitions. In some instances, the group can be associated with one ormore categories, and when filtered by group, the system may only displaytags associated with at least one of the categories associated with thegroup.

The messaging system may comprise map-based functionalities, such asproviding a map-based interface. The map-based interface can beinteractive. The system may provide users with direction functions toguide a user to find directions between a user's current location and atag, between any two tags, between any two locations, and/or between anylocation and a tag. In some instances, the direction function can alsoprovide detailed directions (e.g., street by street), an estimated timeof arrival, alternate routes to select, traffic condition in theprovided routes, estimated costs of travel, and/or alternatetransportation methods (e.g., walking, driving, public transportation,bicycle, Uber®, etc.).

In some instances, the system may display to a first user, on themap-based interface, the respective current locations of other users ofthe system. For example, a plurality of users can form a first group inthe messaging system and view the current locations of all members ofthe first group on the map-based interface. The system may requestpermission from each of the other users of the system to display theirlocation.

Users may be able to input various user commands via the map-basedinterface and/or other interfaces (e.g., list format interface) of thesystem. The user command can comprise actions such as tapping, clicking,double-clicking, triple-clicking, pressing, sliding, drawing, scrolling,touching, flicking, shaking, dragging, pinching, a combination in asequential order of one or more actions above and/or other actions auser may perform with a user interactive device. Some specific examplesare provided, which in most cases can be performed by touch or via amouse. For example, when a user is browsing the map-based interface, theuser can press (or click) and drag a section of the map (that is notalso a tag) to explore regions beyond the boundaries of what is shown.For example, when a user is placing a tag on the map-based interface,the user may press (or click) and drag a graphic (or icon) of the tag onthe map-based interface. When a user is orienting the tag, the user maypress (or click) and drag a point of rotation. For example, when a userwants to zoom in on a tag, the user can touch (or click) the tag. Thetag can enlarge or zoom in the default state upon the motion command.Alternatively, the user can touch (or click) and hold for a certain timeperiod to give the command. When a user wants to alternate a tag from adefault state to the active state, the user can double tap (ordouble-click) on the tag. When the user wants to return from the activestate to the default state, the user can swipe the tag. When the userwants to zoom out from an enlarged default state, the user may tripletap (or triple-click) on the tag. Other actions or combinations ofactions can be performed, via touch, a stylus, a pointing device (e.g.,mouse) or other user interactive device to achieve the same commands.

In some instances, the system may have different types of user accounts.For example, a first type of user account can be opened by users free ofcharge, and a second type of user account can be opened at cost orotherwise on a subscription fee basis. The system may provide the secondtype of user account with more functionalities than the first type ofuser account. For example, only the second type of user account may beable to create private tags, allow multiple users (includingnon-authoring users) to create, edit or remove tags, receive customreports of tag usage, create custom tag filter definitions, create tagswith expiration dates and times, have a secure log in or registrationprocess, and/or view current locations of other users in the system. Insome instances, the system may have more than two different types ofuser accounts, wherein each type of user account comprises a differentsubset of the functionalities of the messaging system described aboveand further below.

FIG. 4 shows an exemplary network comprising one or more messagingsystems, in accordance with some embodiments. The network layout mayinclude a plurality of user devices 406 accessible by a plurality ofusers 408, a network 410, a database 404, a messaging server 402, and amessaging system 400. While only a limited number (e.g., 1, 2, 3, etc.)of each component is shown in FIG. 4, the acting components of thenetwork are not limited to what is shown. For example, the network mayinclude a plurality of messaging servers. Each of the plurality ofmessaging servers may be the same as the messaging server 402. Forexample, the network may include a plurality of messaging systems. Eachof the plurality of messaging systems may be the same as the messagingsystem 400. Each of the components 400, 402, 404, and 406 may beoperatively connected to one another via a network 410 or any other typeof communication link that allows the transmission of data from onecomponent to another. In some instances, the network 410 can integrateone or more networks of one or more pre-existing social networkingsystems and/or comprise an independent social network of the messagingsystem 400.

The network layout may comprise a plurality of nodes. Each of theplurality of user devices 406 in the network may correspond to a node.Each of the plurality of users 408 in the network may correspond to anode. In FIG. 4, if a “user device 406” or a “user 408” is followed by anumber or a letter, it means that the “user device 406” or the “user408” may correspond to a node sharing the same number or letter andother components corresponding to the node. For example, as shown inFIG. 4, a user device 406-1 may correspond to node 1 which is associatedwith user 408-1, a user device 406-2 may correspond to node 2 which isassociated with user 408-2, and so on. A node may be a logicallyindependent entity in the network layout. Therefore, the plurality ofnodes in the network layout can represent different entities. Forexample, each node may be associated with a user, a group of users, orgroups of users. For example, a node may correspond to an individualentity (e.g., an individual). In another example, a node may correspondto multiple entities (e.g., a group of individuals).

The network 410 may comprise a plurality of user devices 406 to aid aplurality of users 408 gain access to one or more services (e.g.,map-based interface, etc.) provided by the messaging system 400. Thenetwork may comprise more than three user devices (e.g., as shown inFIG. 4). Any user device may be the same as a user device 406-1, userdevice 406-2, and/or a user device 406-3. Each user device may havesimultaneous access to the messaging system. Each user device may belocated in the same or different geographical locations. Each user, withaid of a user device, may independently interface with the messagingsystem. For example, if there are three users simultaneously using themessaging system, each of the three users may customize the userexperience and be looking at a different segment of a map in themap-based interface provided by the messaging system. In some instances,a plurality of users, such as users who are members of one organization,may share a same or similar user experience (e.g., seeing the samesegment of a map, seeing the same sample of filtered tags, etc.).

A given user device of the plurality of user devices 406 may beconfigured to receive user input, such as through one or more userinteractive devices described previously (e.g., keyboard, mouse,touchscreen, etc.). The user input can comprise user commands or otheruser information that is transmitted to the messaging server 402. Theinput may include a user performing various virtual actions. The inputmay include, for example, providing content for a message, selecting alocation to browse on the map-based interface, editing, deleting, orrating a tag, and/or selecting another user to connect with.

A user device can be a computing device as described previously herein.The computing device can be configured to perform one or more operationsconsistent with the disclosed embodiments. For example, the user devicemay be a computing device that is capable of executing software orapplications provided by the messaging system 400. In some embodiments,the software and/or applications may enable the user to detect alocation, create, edit, or delete tag content, place and orient tags ona map, interact with map-based interfaces, rate tags of other users,and/or perform other social networking functions or map-based functionsthrough the messaging system. The software and/or application may havebeen registered with the messaging system by the user. In someinstances, the user may provide authentication and/or certification ofthe user's identity (e.g., logging in via user name and password) beforeusing the software and/or application. A user of the system may gainaccess to one or more services (e.g., access to map-based interface,ability to create or rate tags, etc.) provided by the messaging systemthrough registration and/or authentication of the user. Alternatively, auser may gain access to one or more services without registration withthe messaging system. In some instances, unregistered users may onlyhave access to limited services (e.g., read only).

In some embodiments, the software and/or applications of the messagingsystem may be configured to collect data (e.g., user information, tagcontent, tag feedback or rating, location information) from a given userdevice of the plurality of user devices 406, and send them to themessaging server 402 during a user's session with the messaging system.In some cases, some or all data can be encrypted before transfer, suchas to protect personal information. As described previously, a givenuser device may comprise one or more geolocation sensors and/or locatingsoftware. The sensors and/or the locating software can be configured tobe able to detect a user's current location. The user's current locationdata can be sent to the messaging server 402 via the network 410.

The map-based interface may be hosted by the messaging server 402 on oneor more interactive webpages and/or software applications (e.g., mobileapplications, computer programs), and accessed by one or more users ofthe plurality of users 408.

In the illustration of FIG. 4, two-way data transfer capability may beprovided between any two components, including the messaging server 402and a given user device of the plurality of user devices 406, themessaging server 402 and the database 404, the database 404 and a givenuser device of the plurality of user devices 406, a given user device ofthe plurality of user devices 406 and the network 410, the messagingserver and the network 410, etc.

The messaging server 402 may comprise one or more server computersconfigured to perform one or more operations consistent with disclosedembodiments. In one aspect, a messaging server may be implemented as asingle computer through which a given user device of the plurality ofuser devices 406 is able to communicate with other components (e.g.,other user devices, social networks, database 404 etc.) of the network410. In some instances, a user device may communicate with the messagingserver through the network. In other instances, through the network 410,the messaging server may communicate on behalf of the user device withthe messaging system 400, other systems communicating with the network410, and/or the database 404. In one aspect, the messaging server mayembody the functionality of one or more messaging systems. In anotheraspect, the one or more messaging systems may be implemented insideand/or outside of the messaging server. For example, the one or moremessaging systems may comprise software and/or hardware componentsincluded with the messaging server or remote from the messaging server.The messaging server may also be a server in a data network (e.g., acloud computing network).

The network 410 may be configured to provide communication betweenvarious components of the network layout depicted in FIG. 4. The network410 may comprise one or more networks that connect devices and/orcomponents in the network layout to allow communication between thedevices and/or components. For example, the network may be implementedas the Internet, a wireless network, a wired network, a local areanetwork (LAN), a Wide Area Network (WANs), Bluetooth, Near FieldCommunication (NFC), or any other type of network that providescommunications between one or more components of the network layout. Insome embodiments, the network may be implemented using cell and/or pagernetworks, satellite, licensed radio, or a combination of licensed andunlicensed radio. The network in some cases is a telecommunicationand/or data network. The network can include one or more computerservers, which can enable distributed computing, such as cloudcomputing. The network, in some cases, with aid of the messaging system400 and/or the messaging server 402, can implement a peer-to-peernetwork, which may enable devices (e.g., the plurality of user devices406) coupled to the messaging system to behave as a client or a server.

In some instances, the messaging server 402 can be integrated in anothersystem, such as a social networking system (e.g., Google+®, Twitter®,Instagram®, Facebook®, Yahoo®) that each of the plurality of userdevices 406 can access via the network 410. A social networking systemmay integrate the messaging system and/or one or more functionalities(e.g., map-based interface) of the messaging system via an API. In someinstances, the messaging server 402 can, over the network, synchronizewith the respective servers of the other social networking systems.Synchronization can include, for example, an import or export of asocial network contact list or social networking activity or socialnetworking account history. The network can be the Internet, an internetand/or extranet, or an intranet and/or extranet that is in communicationwith the Internet. A number of different computer-implemented systems,including one or more messaging systems 400 and one or more socialnetworking systems, may communicate with each of the plurality of userdevices 406 via the network. In some instances, a given user device ofthe plurality of user devices 406 may be directly connected to themessaging server 402 through a separate link (not shown in FIG. 4). Incertain instances, the messaging server may be configured to operate asa front-end device configured to provide access to one or more messagingsystems 400 consistent with certain disclosed embodiments.

The messaging server can utilize the database 404 to process and storedata (e.g., tag content, current location of a user) provided by a givenuser device of the plurality of user devices 406. Alternatively, themessaging server can utilize a plurality of databases connected to thenetwork 410. Each database of the plurality of databases can be Themessaging server can, for example, compile the data and present at leasta portion of the data (e.g., tag content, current location of a user,tag ratings) to user devices through the map-based interface.

The database 404 may be one or more memory devices configured to storedata. Additionally, the databases may also, in some embodiments, beimplemented as a computer system with a storage device. In one aspect,the database may be used by components of the network layout to performone or more operations consistent with the disclosed embodiments. Incertain embodiments, the database may be co-located with the messagingserver 402, co-located with a given user device of the plurality of userdevices 406, and/or co-located with another database on the network 410.One of ordinary skill will recognize that the disclosed embodiments arenot limited to the configuration and/or arrangement of the one or moredatabases.

The messaging server 402 may be configured to store message content datafor tags, rating information data for tags, user information data forusers, and/or location information data for user devices in the database404. In some instances, data stored in the database 404 can be indexedfor search and retrieval by the messaging server 402.

Message content data can comprise a title of the message, one or morecategories of the message, description of the message, user authoringthe message, location of a tag (e.g., x and y coordinates, latitude andlongitudinal coordinates, a point on a map, etc.), orientation of a tag,and/or other graphic characteristics of a tag (e.g., color, shape, size,etc.).

Rating information data for a tag can comprise ratings received fromindividual users as well as an aggregate rating determined by themessaging server 402. In some instances, the database 404 may storewhich user provided which rating. In other instances, the database 404may store just the rating, for example as a purely numerical component.

User information data for a user can comprise personal and non-personuser information. For example, the information can include userinformation requested for user registration such as a username, name,email address, phone number, password, and/or password security questionand answer. User information data can also include social networkingdata of the user, including the user's social networking contacts (e.g.,friend list, following list, etc.) from one or more social networkingsystems that are in communication with the messaging system, and/orsocial networking activity. For instance, the user's social networkingcontacts can be for contacts made within the messaging system. Userinformation data can also include a user's activities in the messagingsystem, including a history of rating tags, a history of tags created bythe user, a history of ratings received for tags created by the user,connected users in the messaging system, and other account activityhistory.

Location information data for user devices can include a currentlocation of the user device and/or a history of locations visited by theuser device.

In some or all cases, the user may be prompted to grant permission tothe messaging server 402 to provide such information to the messagingsystem 400. In some instances, data received by the messaging server maybe used for a particular service (e.g., displaying current location) anddiscarded (e.g., erased from memory) from the system instead of beingstored, especially for personal and/or time-sensitive information.

The messaging system 400 may be implemented as one or more computersstoring instructions that, when executed by one or more processors, canprocess data received from a plurality of user devices and present atleast a portion of the data in a map-based interface. The messagingsystem 400 and the messaging server 402 can share the same or differentcomputer systems. In certain configurations, the messaging system may bea software stored in memory accessible by the messaging server (e.g., ina memory local to the server or remote memory accessible over acommunication link, such as the network 410). Thus, in certain aspects,the messaging system may be implemented as one or more computers, assoftware stored on a memory device accessible by the server, or acombination thereof. A variety of algorithms may be performed by one ormore applications or software to execute one or more processes of themessaging server and/or the messaging system.

A computer system of the messaging system 400 includes a centralprocessing unit (CPU, also “processor” and “computer processor” herein),which can be a single core or multi core processor, or a plurality ofprocessors for parallel processing. The computer system also includesmemory or memory location (e.g., random-access memory, read-only memory,flash memory), electronic storage unit (e.g., hard disk), communicationinterface (e.g., network adapter) for communicating with one or moreother systems through the network 410 or other networks, and peripheraldevices, such as cache, other memory, data storage and/or electronicdisplay adapters. The memory, storage unit, interface and peripheraldevices are in communication with the CPU through a communication bus(solid lines), such as a motherboard. The storage unit can be a datastorage unit (or data repository) for storing data. In some instances,all data can be stored in the database 404.

The CPU can execute a sequence of machine-readable instructions, whichcan be embodied in a program or software. The instructions may be storedin a memory location, such as the memory of the messaging system 400and/or the database 404. The instructions can be directed to the CPU,which can subsequently program or otherwise configure the CPU toimplement methods of the present disclosure. The machine executable ormachine readable instructions (or code) can be provided in the form ofsoftware. During use, the code can be executed by the CPU. Examples ofoperations performed by the CPU can include fetch, decode, execute, andwriteback. The CPU can be part of a circuit, such as an integratedcircuit. One or more other components of the system can be included inthe circuit. In some cases, the circuit is an application specificintegrated circuit (ASIC).

The code can be pre-compiled and configured for use with a machinehaving a processor adapted to execute the code, or can be compiledduring runtime. The code can be supplied in a programming language thatcan be selected to enable the code to execute in a pre-compiled oras-compiled fashion. Aspects of the systems and methods provided herein,such as the computer system, can be embodied in programming. Variousaspects of the technology may be thought of as “products” or “articlesof manufacture” typically in the form of machine (or processor)executable code and/or associated data that is carried on or embodied ina type of machine readable medium. Machine-executable code can be storedon an electronic storage unit, such as memory (e.g., read-only memory,random-access memory, flash memory) or a hard disk. “Storage” type mediacan include any or all of the tangible memory of the computers,processors or the like, or associated modules thereof, such as varioussemiconductor memories, tape drives, disk drives and the like, which mayprovide non-transitory storage at any time for the software programming.

All or portions of the software may at times be communicated through theInternet or various other telecommunication networks. Suchcommunications, for example, may enable loading of the software from onecomputer or processor into another, for example, from a managementserver or host computer into the computer platform of an applicationserver. Thus, another type of media that may bear the software elementsincludes optical, electrical and electromagnetic waves, such as usedacross physical interfaces between local devices, through wired andoptical landline networks and over various air-links. The physicalelements that carry such waves, such as wired or wireless links, opticallinks or the like, also may be considered as media bearing the software.As used herein, unless restricted to non-transitory, tangible “storage”media, terms such as computer or machine “readable medium” refer to anymedium that participates in providing instructions to a processor forexecution.

Hence, a machine readable medium, such as computer-executable code, maytake many forms, including but not limited to, a tangible storagemedium, a carrier wave medium or physical transmission medium.Non-volatile storage media include, for example, optical or magneticdisks, such as any of the storage devices in any computer(s) or thelike, such as may be used to implement the databases, etc. shown in thedrawings. Volatile storage media include dynamic memory, such as mainmemory of such a computer platform. Tangible transmission media includecoaxial cables; copper wire and fiber optics, including the wires thatcomprise a bus within a computer system. Carrier-wave transmission mediamay take the form of electric or electromagnetic signals, or acoustic orlight waves such as those generated during radio frequency (RF) andinfrared (IR) data communications. Common forms of computer-readablemedia therefore include for example: a floppy disk, a flexible disk,hard disk, magnetic tape, any other magnetic medium, a CD-ROM, DVD orDVD-ROM, any other optical medium, punch cards paper tape, any otherphysical storage medium with patterns of holes, a RAM, a ROM, a PROM andEPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wavetransporting data or instructions, cables or links transporting such acarrier wave, or any other medium from which a computer may readprogramming code and/or data. Many of these forms of computer readablemedia may be involved in carrying one or more sequences of one or moreinstructions to a processor for execution.

Methods and systems of the present disclosure can be implemented by wayof one or more algorithms. The algorithm can, for example, enable thevarious social networking capabilities, map-based functionalities, andthe graphic user interface (e.g., map-based interface) of the messagingsystem 400.

While the network 410 is shown in FIG. 4 as a “central” point forcommunications between components of the network layout, the disclosedembodiments are not limited thereto. For example, one or more componentsof the network layout may be interconnected in a variety of ways, andmay in some embodiments be directly connected to, co-located with, orremote from one another, as one of ordinary skill will appreciate.Additionally, while some disclosed embodiments may be implemented on theserver, the disclosed embodiments are not so limited. For instance, insome embodiments, other devices (such as one or more user devices) maybe configured to perform one or more of the processes andfunctionalities consistent with the disclosed embodiments, includingembodiments described with respect to the messaging server and themessaging system. Although particular computing devices are illustratedand networks described, it is to be appreciated and understood thatother computing devices and networks can be utilized without departingfrom the spirit and scope of the embodiments described herein.

FIG. 5 shows a method for sharing messages about a specific location.The method can comprise, at a first step 501, receiving a first messageabout a first location from a first user. The messaging system maygenerate a first tag containing the first message. The first tag maydisplay only some of the content of the first message, such as just atitle and a category of the first message. Next 502, the first user canprovide position and orientation instructions for placement of the firsttag on a map-based interface. In some instances, the first user mayplace the first tag adjacent to the first location. The first user maylocate the first location on the map-based interface relative to thefirst user's current location or by inputting an address of the firstlocation to the system. From whatever position the first tag is placedrelative to the first location, the first tag can be configured to pointin a direction of the first location. Next 503, based on the positionand orientation instructions from the first user, the system may displaythe first tag on the map-based interface. A second user or any otheruser of the system may be able to see the first tag on the map-basedinterface. The second user may perform additional actions (e.g.,clicking, touching, etc.) on the first tag to see the rest of the firstmessage.

Examples

In an example, Monica is a freshman college student who has recentlymoved to a new neighborhood, Manhattan. Monica is originally from asuburb in Arizona and is entirely unfamiliar with Manhattan. Monicaregisters as a user of the messaging system and sets up an emergencyalert (in SMS message form) to go out to her mom, her aunt who lives inConnecticut, and the college campus security for when she is inemergency situations. Monica steps out of her dorm onto St. Marks Placeand opens up the map-based interface of the messaging system on hermobile phone. Monica sees her current location in the middle of a threeblock circle and all tags in the area. Monica follows her college (e.g.,New York University (NYU)) in the messaging system and selects the NYUfilter. The map-based interface now only displays tags created by theoffice of student affairs at NYU, including grocery stores, entrances tobuildings and hours they are open, subway entrances, and areas to avoidat night. Monica removes the NYU filter and selects a restaurant filter.She notices a plurality of tags carrying positive ratings and/orpositive content for breakfast in a basement spot on 7^(th) Street. Sheheads to the location of the tag with the best review, and finds theentrance that she otherwise may have missed had the tag not pointed herin that direction. She enjoys the breakfast and follows the users whorecommended the breakfast place (e.g., via creating tags). One of theusers she followed turns out to be a NYU pre-med student who has leftanother tag at the entrance to another dorm reading, “welcome partytonight.” Monica drops her own tag at the breakfast place reading,“Delicious. New York, I think I love you. Sit right here for a heavenlybreakfast.”

As another example, Michael is a marketing executive attending a newtrade show in Boston, a city he has never been to. He opens themessaging system and follows his hotel. All tags created by his hotelshow up, including places to eat, transit stops, and where to catch theairport shuttle with the schedule. He turns off the hotel filter andmoves the map to show the subway station, where he finds tags for eachof a place to buy a paper, a place to get coffee, exactly where thesubway entrance is, and where to buy a ticket. Michael then moves themap to the station near the trade show convention center and finds tagsrecommending the best spot to catch a cab, which he will take to theconvention center. He follows the convention center and sees all tagscreated by the convention center, including tags for bathrooms,entrances and when they are open, and places to eat. He then follows hisboss who has left tags of where to meet and when, and where the clientdinner will be held, including a link to the client's LinkedIn profile.As he leaves his hotel, Michael drops a tag in the hotel lobby with amessage to meet on this spot for drinks after dinner, and sends it tohis best customer via text.

As another example, Paul is a new driver for the United Parcel Service(UPS®), and is subbing on a route. He opens the messaging system wherehe has been granted permission to access private tags by UPS and opensthe filter for the route he is on. Tags are left along his route withhelpful notes such as, “little dog barks but doesn't bite, name isDaisy,” “Don't double park here, owner gets pissed,” and “Mrs. Smithmoves slow, takes a minute to get to the door.” He pulls up to a gate tomake a delivery and sees a tag reading “gate is locked from the outside,but reach through hole in mesh to open, leave package under bench byfront door.” Paul opens the gate as instructed and knocks on the door,but sees there is no bench. When the customer opens the door, he asksthe customer to sign and mentions he had a note to leave the packageunder the bench. The customer informs Paul that packages can be leftinside a chest. Paul heads back to the truck and adds to the tag, “leavepackages inside chest next to front door.” The messaging system cantrack and report Paul's activity (e.g., location, activity, etc.) toUPS.

As another example, a small city department creates a city departmentcategory in the messaging system. Residents of the city report potholes,crimes, or anything that needs the city's attention via creating tagsunder the city department category in the messaging system. The citydepartment can respond to the tags by fixing the problems and updatingthe tag with a photo of the fixed problem for all to see. The messagingsystem may deliver a report to the mayor of the city, such as on howefficiently the city department is addressing citizen concerns.

While preferred embodiments of the present invention have been shown anddescribed herein, it will be obvious to those skilled in the art thatsuch embodiments are provided by way of example only. It is not intendedthat the invention be limited by the specific examples provided withinthe specification. While the invention has been described with referenceto the aforementioned specification, the descriptions and illustrationsof the embodiments herein are not meant to be construed in a limitingsense. Numerous variations, changes, and substitutions will now occur tothose skilled in the art without departing from the invention.Furthermore, it shall be understood that all aspects of the inventionare not limited to the specific depictions, configurations or relativeproportions set forth herein which depend upon a variety of conditionsand variables. It should be understood that various alternatives to theembodiments of the invention described herein may be employed inpracticing the invention. It is therefore contemplated that theinvention shall also cover any such alternatives, modifications,variations or equivalents. It is intended that the following claimsdefine the scope of the invention and that methods and structures withinthe scope of these claims and their equivalents be covered thereby.

What is claimed is:
 1. A method for sharing location specificinformation, comprising: (a) receiving, at a computer system programmedto facilitate sharing of location specific information using a map-basedinterface accessible to a plurality of users via a plurality of userdevices, position instructions for a tag from a user of said pluralityof users, which position instructions comprise coordinates for placementof said tag on said map-based interface, wherein said tag is associatedwith a specific location; (b) receiving at said computer system,orientation instructions for said tag from said user, which orientationinstructions comprise an orientation, selected from a plurality ofavailable orientations, of said tag on said map-based interface; and (c)displaying, by said computer system, said tag on said map-basedinterface, wherein said tag is positioned on said map-based interface onor adjacent to said specific location, according to said coordinates ofsaid position instructions and along said orientation of saidorientation instructions.
 2. The method of claim 1, wherein said tag isassociated with a message about said specific location.
 3. The method ofclaim 2, wherein said tag displays at least a portion of said messageabout said specific location on said map-based interface.
 4. The methodof claim 3, wherein said at least said portion of said message comprisesone or more information selected from the group consisting of a title ofsaid message, a category of said specific location, a description ofsaid specific location, and an aggregate rating of said message.
 5. Themethod of claim 2, wherein said tag does not display said message onsaid map-based interface.
 6. The method of claim 2, further comprisingdisplaying a second tag on said map-based interface, wherein said secondtag is associated with a second message about said specific location,and wherein said second tag displays at least a portion of said secondmessage about said specific location on said map-based interface,wherein said second tag has different position instructions than saidfirst tag.
 7. The method of claim 2, wherein said message comprises oneor more information selected from the group consisting of a title ofsaid message, a category of said specific location, a description ofsaid specific location, and an aggregate rating of said message.
 8. Themethod of claim 7, wherein said aggregate rating of said message is acompilation of individual ratings received for said message.
 9. Themethod of claim 7, further comprising receiving, from a second user, anindividual rating for said message.
 10. The method of claim 9, furthercomprising permitting said second user to provide said individual ratingbased on one or more members selected from the group consisting of (i)confirming that the second user has visited the specific location usingone or more geolocation sensors, (ii) confirming that the second userhas viewed all of said message, and (iii) confirming that an authoringuser of said message permitted said second user to provide saidindividual rating.
 11. The method of claim 2, wherein said tag has adefault state and an active state, wherein said tag is configured todisplay a first set of information of said message in said defaultstate, and wherein said tag is configured to display a second set ofinformation of said message in said active state, wherein said secondset of information is different from said first set of information. 12.The method of claim 11, wherein said tag alternates between said defaultstate and said active state upon a user action.
 13. The method of claim11, wherein said tag is enlarged in said active state compared to saiddefault state.
 14. The method of claim 1, wherein said tag has apolygonal shape.
 15. The method of claim 1, wherein said tag comprisesone or more distinguishing features more proximal to an edge, corner,tip, or boundary of the tag, relative to another edge, corner, tip, orboundary of the tag, to distinguish an orientation of said tag.
 16. Themethod of claim 1, further comprising displaying a current location of asecond user on said map-based interface.
 17. The method of claim 16,further comprising providing direction instructions between said currentlocation of said second user and said specific location.
 18. The methodof claim 1, further comprising receiving, from a second user, a reportof said tag.
 19. The method of claim 1, further comprising providingediting permission or deleting permission to a second user.
 20. Themethod of claim 1, wherein said tag is associated with an expirationdate or time, and further comprising removing said tag from saidmap-based interface after said expiration date or time.